Debugging Overview

Table of Contents

Chapter 2: The Rules−Suitable for Framing

DEBUGGING RULES

UNDERSTAND THE SYSTEM
MAKE IT FAIL
QUIT THINKING AND LOOK
DIVIDE AND CONQUER
CHANGE ONE THING AT A TIME
KEEP AN AUDIT TRAIL
CHECK THE P LUG
GET A FRESH VIEW
IF YOU DIDN'T FIX IT, IT AIN'T FIXED

Chapter 3: Understand the System

This is the first rule because it's the most important. Understand?

  • Read the manual. It'll tell you to lubricate the trimmer head on your weed whacker so that the lines don't fuse together.
  • Read everything in depth. The section about the interrupt getting to your microcomputer is buried on page 37.
  • Know the fundamentals. Chain saws are supposed to be loud.
  • Know the road map. Engine speed can be different from tire speed, and the difference is in the transmission.
  • Understand your tools. Know which end of the thermometer is which, and how to use the fancy features on your Glitch−O−Matic logic analyzer.
  • Look up the details. Even Einstein looked up the details. Kneejerk, on the other hand, trusted his memory.

Chapter 4: Make it Fail

Chapter 8: Keep an Audit Trail

Better yet, don't remember "Keep an Audit Trail." Write down "Keep an Audit Trail."

  • Write down what you did, in what order, and what happened as a result. When did you last drink coffee? When did the headache start?
  • Understand that any detail could be the important one. It had to be a plaid shirt to crash the video chip.
  • Correlate events. "It made a noise for four seconds starting at 21:04:53" is better than "It made a noise."
  • Understand that audit trails for design are also good for testing. Software configuration control tools can tell you which revision introduced the bug.
  • Write it down! No matter how horrible the moment, make a memorandum of it.

Author: Shi Shougang

Created: 2015-03-05 Thu 23:21

Emacs 24.3.1 (Org mode 8.2.10)

Validate